/**
 * Description:
 * Class Name:FirstThread
 * Date:2022/5/5 9:30
 *
 * @author LTisme
 * @version JAVA17
 */
package 疯狂Java讲义.第16章_多线程._16_2_线程的创建和启动._16_2_1_继承Thread类创建线程类;

public class FirstThread extends Thread{
    private int i;
    // 重写run()方法，run()方法的方法体就是线程执行体
    public void run(){
        for (;i< 100; i++){
            // 当线程类继承Thread类时，直接使用this即可获取当前线程
            // Thread对象的getName()返回当前线程的名字
            // 因此可以直接调用getName()方法返回当前线程的名字，创建的额外线程的名字是Thread-index
            System.out.println(getName() + "_" + i);
        }
    }

    public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {
            // 调用Thread的currentThread()方法获取当前线程，进程的默认线程名字是main
            System.out.println(Thread.currentThread().getName() + "_" + i);
            if (i == 20){
                // 创建并启动第一个线程
                new FirstThread().start();
                // 创建并启动第二个线程
                new FirstThread().start();
            }
        }
    }
}
